package cn.oms.dict.provider.dao.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import java.time.LocalDate;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableField;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 *
 * @author AllenChen曾晨
 * @since 2022-04-16
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("staff_detail")
@ApiModel(value="StaffDetail对象", description="")
public class StaffDetail implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "ID(新增生成)")
    @TableId(value = "ID", type = IdType.AUTO)
    private Integer id;

    @ApiModelProperty(value = "用户ID")
    @TableField("USER_ID")
    private String userId;

    @ApiModelProperty(value = "职工号（新增生成）（10000开始）")
    @TableField("WORKER_NO")
    private String workerNo;

    @ApiModelProperty(value = "员工CODE（新增生成）（D00001+科室号）")
    @TableField("STAFF_CODE")
    private String staffCode;

    @ApiModelProperty(value = "员工名称（其他表的创建人名称就是这个）")
    @TableField("STAFF_NAME_DETAIL")
    private String staffNameDetail;

    @ApiModelProperty(value = "姓")
    @TableField("STAFF_FIRST_NAME")
    private String staffFirstName;

    @ApiModelProperty(value = "名")
    @TableField("STAFF_LAST_NAME")
    private String staffLastName;

    @ApiModelProperty(value = "单独姓名标识（0姓名 1姓）")
    @TableField("SINGLE_NAME_FLAG")
    private Integer singleNameFlag;

    @ApiModelProperty(value = "员工姓名（英文）")
    @TableField("STAFF_NAME_EN")
    private String staffNameEn;

    @ApiModelProperty(value = "员工姓名（中文）")
    @TableField("STAFF_NAME_CN")
    private String staffNameCn;

    @ApiModelProperty(value = "员工姓名（别名）")
    @TableField("STAFF_NAME_ALIAS")
    private String staffNameAlias;

    @ApiModelProperty(value = "性别 (0男 1女 2未知)")
    @TableField("SEX")
    private Integer sex;

    @ApiModelProperty(value = "称谓（英文）（前缀Mr）(Mr. Mrs.)")
    @TableField("PREFIX_EN")
    private String prefixEn;

    @ApiModelProperty(value = "称谓（中文）（前缀先生、女士）")
    @TableField("PREFIX_CN")
    private String prefixCn;

    @ApiModelProperty(value = "出生年月")
    @TableField("DATE_OF_BIRTH")
    private String dateOfBirth;

    @ApiModelProperty(value = "职称CODE（对应职称表）（岗位）")
    @TableField("JOB_TITLE_CODE")
    private String jobTitleCode;

    @ApiModelProperty(value = "职称名称（英文）（对应职称表）")
    @TableField("JOB_TITLE_NAME_EN")
    private String jobTitleNameEn;

    @ApiModelProperty(value = "职称名称（中文）（对应职称表）")
    @TableField("JOB_TITLE_NAME_CN")
    private String jobTitleNameCn;

    @ApiModelProperty(value = "上级领导CODE")
    @TableField("SUP_LEADER_CODE")
    private String supLeaderCode;

    @ApiModelProperty(value = "上级领导名称")
    @TableField("SUP_LEADER_NAME")
    private String supLeaderName;

    @ApiModelProperty(value = "医院号CODE")
    @TableField("HOSPITAL_CODE")
    private String hospitalCode;

    @ApiModelProperty(value = "区域号CODE")
    @TableField("AREA_CODE")
    private String areaCode;

    @ApiModelProperty(value = "专科号CODE")
    @TableField("SPECIALTY_CODE")
    private String specialtyCode;

    @ApiModelProperty(value = "科室号CODE")
    @TableField("DEPARTMENT_CODE")
    private String departmentCode;

    @ApiModelProperty(value = "住址")
    @TableField("ADDRESS")
    private String address;

    @ApiModelProperty(value = "电话")
    @TableField("PHONE_NUM")
    private String phoneNum;

    @ApiModelProperty(value = "邮箱")
    @TableField("EMAIL")
    private String email;

    @ApiModelProperty(value = "医生头像地址")
    @TableField("PHOTO_ADDRESS")
    private String photoAddress;

    @ApiModelProperty(value = "学历CODE（对应学历表）")
    @TableField("QUALIFICATION_CODE")
    private String qualificationCode;

    @ApiModelProperty(value = "学历名称（英文）")
    @TableField("QUALIFICATION_NAME_EN")
    private String qualificationNameEn;

    @ApiModelProperty(value = "学历名称（中文）")
    @TableField("QUALIFICATION_NAME_CN")
    private String qualificationNameCn;

    @ApiModelProperty(value = "是否为全日制（0非全日制 1全日制）（1全职 0兼职）")
    @TableField("FULL_TIME_FLAG")
    private Integer fullTimeFlag;

    @ApiModelProperty(value = "工作人员类别（0其他 1护士 2费用 3医生 4药剂师 5超级管理员）")
    @TableField("JOB_TYPE")
    private Integer jobType;

    @ApiModelProperty(value = "资质标识（下达医嘱，执行医嘱）")
    @TableField("IDENTIFICATION_OF_QUALIFICATION_FLAG")
    private Integer identificationOfQualificationFlag;

    @ApiModelProperty(value = "资质证书")
    @TableField("QUALIFICATION_CERTIFICATE")
    private String qualificationCertificate;

    @ApiModelProperty(value = "入院权（住院入院信）")
    @TableField("ADMISSION_AUTHORITY_FLAG")
    private Integer admissionAuthorityFlag;

    @ApiModelProperty(value = "处方权（开药权）")
    @TableField("PRESCRIPTION_AUTHORITY_FLAG")
    private Integer prescriptionAuthorityFlag;

    @ApiModelProperty(value = "主刀权（手术）")
    @TableField("SURGERY_AUTHORITY_FLAG")
    private Integer surgeryAuthorityFlag;

    @ApiModelProperty(value = "麻醉权（麻醉师）")
    @TableField("ANESTHESIA_AUTHORITY_FLAG")
    private Integer anesthesiaAuthorityFlag;

    @ApiModelProperty(value = "抗生素权（0非限制级别 1限制级抗生素 2特殊级抗菌素）")
    @TableField("ANTIBIOTIC_AUTHORITY_FLAG")
    private Integer antibioticAuthorityFlag;

    @ApiModelProperty(value = "DDA药品处方权（危险药品处方开立权限）")
    @TableField("DANGEROUS_DRUG_AUTHORITY_FLAG")
    private Integer dangerousDrugAuthorityFlag;

    @ApiModelProperty(value = "入职日期")
    @TableField("JOIN_TIME")
    private LocalDate joinTime;

    @ApiModelProperty(value = "辞职日期")
    @TableField("DEPARTURE_TIME")
    private LocalDate departureTime;

    @ApiModelProperty(value = "医生简介")
    @TableField("DOCTOR_INTRODUCTION")
    private String doctorIntroduction;

    @ApiModelProperty(value = "当前状态（0未上班 1在上班）")
    @TableField("STATE_FLAG")
    private Integer stateFlag;

    @ApiModelProperty(value = "是否本院职工")
    @TableField("HOSPITAL_WORKER")
    private Integer hospitalWorker;

    @ApiModelProperty(value = "紧急联系人电话")
    @TableField("EMERGENCY_CONTACT_PHONE_NUM")
    private String emergencyContactPhoneNum;

    @ApiModelProperty(value = "紧急联系人姓名")
    @TableField("EMERGENCY_CONTACT_NAME")
    private String emergencyContactName;

    @ApiModelProperty(value = "紧急联系人关系")
    @TableField("EMERGENCY_CONTACT_RELATIONSHIP")
    private String emergencyContactRelationship;

    @ApiModelProperty(value = "创建时间")
    @TableField("CREATE_TIME")
    private LocalDate createTime;

    @ApiModelProperty(value = "删除标记")
    @TableField("DEL_FLAG")
    private Integer delFlag;


}
